package com.study.mybatisplus.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 用户邮票
 * </p>
 *
 * @author flwu
 * @since 2020-03-20
 */
@TableName("tbl_user_stamp")
public class UserStamp implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 序号
     */
    private Long serialNumber;

    /**
     * 邮票ID
     */
    private Long stampId;

    /**
     * 邮票作者
     */
    private String stampAuthor;

    /**
     * 邮票标题
     */
    private String stampTitle;

    /**
     * 邮票描述
     */
    private String stampDescribe;

    /**
     * 邮票价格（金币数量）
     */
    private Long stampCoin;

    /**
     * 邮票发行价格
     */
    private Long stampPublishCount;

    /**
     * 邮票分类ID
     */
    private Long stampCategoryId;

    /**
     * 邮票图片地址
     */
    private String stampPictureUrl;

    /**
     * 邮票是否限制城市
     */
    private Boolean stampIsLimitCity;

    /**
     * 邮票限制城市
     */
    private String stampCity;

    /**
     * 邮票发行时间
     */
    private LocalDateTime stampCreateDatetime;

    /**
     * 是否被使用
     */
    private Boolean isUse;

    /**
     * 使用时间
     */
    private LocalDateTime useDatetime;

    /**
     * 创建时间
     */
    private LocalDateTime createDatetime;

    /**
     * 最后更新时间
     */
    private LocalDateTime updateDatetime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public Long getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(Long serialNumber) {
        this.serialNumber = serialNumber;
    }
    public Long getStampId() {
        return stampId;
    }

    public void setStampId(Long stampId) {
        this.stampId = stampId;
    }
    public String getStampAuthor() {
        return stampAuthor;
    }

    public void setStampAuthor(String stampAuthor) {
        this.stampAuthor = stampAuthor;
    }
    public String getStampTitle() {
        return stampTitle;
    }

    public void setStampTitle(String stampTitle) {
        this.stampTitle = stampTitle;
    }
    public String getStampDescribe() {
        return stampDescribe;
    }

    public void setStampDescribe(String stampDescribe) {
        this.stampDescribe = stampDescribe;
    }
    public Long getStampCoin() {
        return stampCoin;
    }

    public void setStampCoin(Long stampCoin) {
        this.stampCoin = stampCoin;
    }
    public Long getStampPublishCount() {
        return stampPublishCount;
    }

    public void setStampPublishCount(Long stampPublishCount) {
        this.stampPublishCount = stampPublishCount;
    }
    public Long getStampCategoryId() {
        return stampCategoryId;
    }

    public void setStampCategoryId(Long stampCategoryId) {
        this.stampCategoryId = stampCategoryId;
    }
    public String getStampPictureUrl() {
        return stampPictureUrl;
    }

    public void setStampPictureUrl(String stampPictureUrl) {
        this.stampPictureUrl = stampPictureUrl;
    }
    public Boolean getStampIsLimitCity() {
        return stampIsLimitCity;
    }

    public void setStampIsLimitCity(Boolean stampIsLimitCity) {
        this.stampIsLimitCity = stampIsLimitCity;
    }
    public String getStampCity() {
        return stampCity;
    }

    public void setStampCity(String stampCity) {
        this.stampCity = stampCity;
    }
    public LocalDateTime getStampCreateDatetime() {
        return stampCreateDatetime;
    }

    public void setStampCreateDatetime(LocalDateTime stampCreateDatetime) {
        this.stampCreateDatetime = stampCreateDatetime;
    }
    public Boolean getUse() {
        return isUse;
    }

    public void setUse(Boolean isUse) {
        this.isUse = isUse;
    }
    public LocalDateTime getUseDatetime() {
        return useDatetime;
    }

    public void setUseDatetime(LocalDateTime useDatetime) {
        this.useDatetime = useDatetime;
    }
    public LocalDateTime getCreateDatetime() {
        return createDatetime;
    }

    public void setCreateDatetime(LocalDateTime createDatetime) {
        this.createDatetime = createDatetime;
    }
    public LocalDateTime getUpdateDatetime() {
        return updateDatetime;
    }

    public void setUpdateDatetime(LocalDateTime updateDatetime) {
        this.updateDatetime = updateDatetime;
    }

    @Override
    public String toString() {
        return "UserStamp{" +
            "id=" + id +
            ", userId=" + userId +
            ", serialNumber=" + serialNumber +
            ", stampId=" + stampId +
            ", stampAuthor=" + stampAuthor +
            ", stampTitle=" + stampTitle +
            ", stampDescribe=" + stampDescribe +
            ", stampCoin=" + stampCoin +
            ", stampPublishCount=" + stampPublishCount +
            ", stampCategoryId=" + stampCategoryId +
            ", stampPictureUrl=" + stampPictureUrl +
            ", stampIsLimitCity=" + stampIsLimitCity +
            ", stampCity=" + stampCity +
            ", stampCreateDatetime=" + stampCreateDatetime +
            ", isUse=" + isUse +
            ", useDatetime=" + useDatetime +
            ", createDatetime=" + createDatetime +
            ", updateDatetime=" + updateDatetime +
        "}";
    }
}
